#include<stdio.h>
#include<string.h>
#include<unistd.h>
#include<signal.h>

void sigcb(int no)
{
  printf("no: %d\n",no);
}
int main()
{
  signal(SIGINT,sigcb);
  signal(SIGRTMIN+5,sigcb);
  sigset_t set,old;      //定义两个集合
  sigemptyset(&set);
  sigemptyset(&old);

  sigfillset(&set);      //将所有信号填充到集合set

  sigprocmask(SIG_BLOCK,&set,&old);   //阻塞 set 集合中所有信号
  printf("按回车继续运行~\n");
  getchar();

  sigprocmask(SIG_UNBLOCK,&set,NULL);   //解除阻塞
  while(1){
    sleep(1);
  }
  return 0;
}
